This invention relates to the graphic representation of data values.
Digital images used to represent and convey information to a computer user may take a variety of forms such as alphanumeric characters, graphs, and pictures. Digital images may be stored digitally, manipulated, and then rendered on video monitors or printers.
Digital images may have a variety of properties such as color, texture, brightness, contrast, and may be associated with nonvisual properties such as speed of motion or sound effects. The properties of an image may be defined when the image is created or modified and may be stored with the image.
Image properties are generally quantifiable. For example, the brightness of each pixel or other part of an image may be expressed as a quantity that may vary between 0% white (i.e., 100% black) and 100% white. Quantifiable image properties may be modified through mathematical translations of the data values that define the image properties of the parts of the image. In some systems, the user may alter the data values defining one or more image properties by using a keyboard or other input device. In other systems, a user may modify image properties through a graphical user interface (GUI). For example, a range of possible data values may be displayed graphically to the user and the user may select the desired new data value with a mouse or other pointing device.
One particular GUI used to alter image properties uses a control tab of the kind shown in FIG. 2. A square 200 representing an x-y coordinate system is displayed to the user. The range of base data values for the image property (image brightness is shown in FIG. 2) is displayed graphically along the bottom horizontal edge (the x-coordinate) 210 of the square, while the range of possible new data values is displayed graphically along the left vertical edge (the y-coordinate) 220 of the square. The diagonal line 230 from the bottom left to the top right corner of the square represents a base state in which each base data value is identical to the new data value (i.e., x=y), indicating that no mathematical transformation has yet been performed. Each point on the line represents all of the pixels (or other parts) of the image that have the brightness value indicated on the x-axis.
To alter the image property the user may select a point on the diagonal line (e.g., point A) and drag it to a new position within the square (e.g., point N). Software then generates a new curve 240 that passes through the endpoints of the diagonal line and the new position of the point. The shape of curve 240 depends on choices made by the software designer. The curve 240 defines a mathematical translation of old data values into new data values. Every point along curve 240 has an x-y coordinate, where the horizontal, x-coordinate represents the old data value and the vertical, y-coordinate represents a corresponding new data value. Thus, when the transformation defined by the new curve is applied, every pixel having an old brightness value of x will assume a new brightness value of y. In this way, the brightness characteristics of the whole image can be altered. For example, dark pixels can be made lighter.
The GUI shown in FIG. 2 can be confusing to a user. The diagonal line indicating the base state of no change has a constant slope that users may interpret as implying a constantly increasing change of pixel brightness rather than a lack of change, because rising lines in x-y coordinate systems usually represent constant change. Moving point A to destination N (as indicated by arrow 225) to create a new curve may give the impression that the old data value associated with point A (the x-coordinate of point A) has acquired the new data value associated with point N (the y-coordinate of point N). In fact, it is the old data value associated with point B, located directly below point N, that has acquired the new data value associated with point N, because the x-coordinates of points N and B are identical.